NetDDE
A JavaScript implementation of the NetDDE protocol.
The goal with this package is to be able to exchange data with a Windows computer running the server side of Chris Oldwood's DDE Network Bridge from a Node.JS program. NetDDE's terminology and limitations apply here.
Usage
For a detailed API specification please check the generated JSDoc
const { NetDDEClient, Constants } = require('netdde');
let excel = new NetDDEClient('EXCEL', { host: '127.0.0.1' });
excel.connect().then(async () => {
console.log(await excel.request('Sheet1', 'r2c1'));
console.log(await excel.request('Sheet1', 'r1c1:r4c3'));
console.log(await excel.poke('Sheet2', 'r42c2', Constants.dataType.CF_TEXT, 'Hello World!'));
console.log(await excel.execute('System', "I'm a cell content\r\n"));
await excel.advise('Sheet 1', 'r1c1', Constants.dataType.CF_TEXT);
excel.on('advise', d => {
console.log(`Cell on ${d.item} of ${d.topic} changed to ${d.data}`);
});
await excel.stopAdvise('Sheet 1', 'r1c1', Constants.dataType.CF_TEXT);
excel.on('topic_disconnect', topic => {
console.log(`${topic} is not there anymore :(`);
});
excel.on('close', () => console.log('Bye!'));
await excel.disconnect();
});
References
This node was created by Smart-Tech as part of the ST-One project.
Special thanks to Chris Oldwood's work shared to the community!
License
Copyright: (c) 2019, Smart-Tech, Guilherme Francescon Cittolin guilherme.francescon@netsmarttech.com
GNU General Public License v3.0+ (see LICENSE or https://www.gnu.org/licenses/gpl-3.0.txt)